/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package acciones;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Este servlet selecciona la página JSP o servlet inicial del caso de uso
 * seleccionado de la aplicación AbarrotesWeb
 *
 * @author Alberto Ruiz | Roberto Corona
 */
public class Control extends HttpServlet {

    /**
     * Procesa las solicitudes para ambos metodos HTTP: GET y POST.
     *
     * @param request Objeto request del servlet
     * @param response Objeto response del servlet
     * @throws ServletException Si ocuurre un error especifico del servlet.
     * @throws IOException Si ocuurre un error de E/S
     */
    protected void processRequest(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {              
        // Obtén de la solicitud, la tarea seleccionada del menú 
        String tareaSel = request.getParameter("tareaSel");
        String siguiente = null;
        // Guarda la tarea seleccionada como el atributo tareaSel en la
        // variable session que es la que contiene a todas las variables
        // con ámbito de sesion
        HttpSession session = request.getSession();
        session.setAttribute("tareaSel", tareaSel);
        // establece la pagina JSP o servlet que inicia
        // el caso de uso seleccionado
        if (tareaSel.equals("agregarProducto")) {
            siguiente = "capturaClave.jsp";
        } else if (tareaSel.equals("actualizarProducto")) {
            siguiente = "ObtenProductos";
        } else if (tareaSel.equals("eliminarProductos")) {
            siguiente = "ObtenProductos";
        } else if (tareaSel.equals("listarProductos")) {
            siguiente = "ObtenProductos";
        } else if (tareaSel.equals("listarProductosGranel")) {
            siguiente = "ObtenProductos";
        } else if (tareaSel.equals("agregarCompraGranel")) {
            siguiente = "ObtenProductos";
        }else if (tareaSel.equals("obtenComprasGranelPeriodo")){
            siguiente = "capturaPeriodo.jsp";
        } else if (tareaSel.equals("actualizarCompraGranel")) {
            siguiente = "obtenCompraGranel.jsp";
        } else if (tareaSel.equals("eliminarCompraGranel")) {
            siguiente = "despliegaMovimientos.jsp";
        } else if (tareaSel.equals("listarMovimientos")) {
            siguiente = "ObtenComprasGranel";
        } else if (tareaSel.equals("listarInventario")) {
            siguiente = "ObtenInventarioProductosGranel";
        } else if (tareaSel.equals("actualizarInventario")) {
            siguiente = "ActualizarInventarioProductosGranelCompras";
        }
        // Redirecciona a la página JSP o servlet
        request.getRequestDispatcher(siguiente).forward(request, response);
    }

    /**
     * Maneja el método HTTP: GET.
     *
     * @param request Objeto request del servlet
     * @param response Objeto response del servlet
     * @throws ServletException Si ocuurre un error especifico del servlet.
     * @throws IOException Si ocuurre un error de E/S
     */
    @Override
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Maneja el método HTTP: POST. Maneja el método HTTP: GET.
     *
     * @param request Objeto request del servlet
     * @param response Objeto response del servlet
     * @throws ServletException Si ocuurre un error especifico del servlet.
     * @throws IOException Si ocuurre un error de E/S
     */
    @Override
    protected void doPost(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Regresa una descripcion corta del servlet.
     *
     * @return Descripcion corta del servlet.
     */
    @Override
    public String getServletInfo() {
        return "Servlet de control";
    }// </editor-fold>
}